/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package pl.tewi.commands;

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import pl.tewi.contexts.ApplicationServerContext;

/**
 * Polecenie zatrzymujące serwer aplikacyjny
 * @author Marcin Kwapisz
 */
public class StopServer extends AbstractFrameworkCommand {

    private static final Logger LOGGER = LoggerFactory.getLogger(StopServer.class.getName());

    /**
     * 
     * @param fNext
     * @param context
     */
    public StopServer(final FrameworkCommand fNext, final ApplicationServerContext context) {
        super(fNext, context);
    }

    /**
     * Zatrzymaj serwer po wykonaniu wszystkich metod oznaczonych {@link AfterClass}
     * @throws Throwable 
     */
    @Override
    public void evaluate() throws Throwable {
        fNext.evaluate();

        LOGGER.debug("StopServer");
        getServerController().stopEmbeddedServer();
    }
}
